<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <h1>
        已进行<span>0</span>秒
    </h1>

    <button>获取更多数据</button>
    <script>
        //日期对象 Date();
        var date = new Date();
        console.log(date); //Sun Mar 20 2022 22:02:03 GMT+0800 (中国标准时间)

        // 返回当前是一个月的第几天 1-31 返回几号
        console.log(date.getDate());
        // 返回当前一周中的第几天 0-6 0是星期天
        console.log(date.getDay());
        // 封住周几转换
        Date.prototype.getWeekDay = function(lang) {
            var day = this.getDay();
            switch (day) {
                case 0:
                    return lang == 'chs' ? '星期天' : 'Sunday'
                    break
                case 0:
                    return lang == 'chs' ? '星期一' : 'Monday'
                    break
                case 0:
                    return lang == 'chs' ? '星期二' : 'Tyesday'
                    break
                case 0:
                    return lang == 'chs' ? '星期三' : 'Wednesday'
                    break
                case 0:
                    return lang == 'chs' ? '星期四' : 'Thursday'
                    break
                case 0:
                    return lang == 'chs' ? '星期五' : 'Friday'
                    break
                case 0:
                    return lang == 'chs' ? '星期六' : 'Saturday'
                    break
            }
        }
        console.log(date.getWeekDay());
        console.log(date.getWeekDay('chs'));
        // 返回当前第几个月  0-11   +1
        console.log(date.getMonth());

        // getYear()  getFullYear()


        // getHours() getMinutes() getSeconds() 时分秒 并不是实时的，记录的是时间片段
        console.log(date.getHours());
        console.log(date.getMinutes());
        console.log(date.getSeconds());
        console.log(date.getMilliseconds()); //毫秒

        // getTime()
        // 时间戳 TimeStamp
        //从当前时间到 纪元时间 1970年1月1日0点0分0秒  过了多少毫秒，这个毫秒数就是当前这个时间的时间戳
        console.log(date.getTime());
        var start = date.getTime();
        for (let index = 0; index < 10; index++) {
            const element = '1';

        }
        var end = new Date().getTime();

        console.log(start - end);
        // 时间戳转换为时间
        console.log(new Date(1647787078395));
        date.setTime(1647787078395)
        console.log(date);
        console.log(new Date(2012, 5, 6, 20, 24, 35));

        date.setFullYear(2018);
        date.setMonth(5);
        date.setDate(7);
        date.setHours(20)
        date.setMinutes(24)
        console.log(date);

        console.log(new Date('2017-05-21 23:05:35'));
        console.log(new Date('2017/05/21 23:05:35'));


        // setInterval() 计时器 window.setInterval() clearInterval()
        // 每隔特定的毫秒数事件执行一次内部函数
        // setInterval(function() {
        //     console.log(1);
        // }, 1000)
        // setInterval(test, 1000);
        // setInterval('test()', 1000);

        function test() {
            console.log(2);
        }
        var oH1 = document.getElementsByTagName('h1')[0],
            oSpan = document.getElementsByTagName('span')[0],
            sec = 0;

        // 每个计时器都会返回唯一标识，通过唯一表示可以清除计时器
        var timer = setInterval(function() {
            oSpan.innerHTML = ++sec
            if (sec > 5) {
                clearInterval(timer)
            }
        }, 1000)
        console.log(timer);

        // setTimeout() 延时器 clearTimeout()清除计时器
        // 延迟特定的毫秒时间执行一次函数
        setTimeout(() => {
            console.log(1);
        }, 1000);

        var oBtn = document.getElementsByTagName('button')[0];
        oBtn.onclick = function() {
            this.innerHTML = '加载中....';
            setTimeout(test1.bind(this), 2000)
        }

        function test1() {
            this.innerHTML = '获取更多数据'
        }
    </script>
</body>

</html>